Java.perform(function() {
  //Base64
  var base64 = Java.use('android.util.Base64');
  var string = Java.use('java.lang.String');
  base64.encode.overload('[B', 'int', 'int', 'int').implementation = function(){
      send("=================base64 encode====================");
      send(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Throwable").$new()));
      send(arguments[0]);
      send(arguments[1]);
      send(arguments[2]);
      send(arguments[3]);
      var data=this.encode(arguments[0],arguments[1],arguments[2],arguments[3])
      send("base64:"+string.$new(data));
      return data;
  }
  /*
  base64.decode.overload('[B', 'int', 'int', 'int').implementation = function(){
      send("=================base64 decode====================");
      send(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Throwable").$new()));
      send(arguments[0]);
      send(arguments[1]);
      send(arguments[2]);
      send(arguments[3]);
      var data=this.decode(arguments[0],arguments[1],arguments[2],arguments[3])
      send("base64:"+string.$new(data));
      return data;
  }
   */
})

// frida -U -f 包名 -l 脚本文件.js --no-pause
// frida -UF  -l  04_hook_base64.js